import CryptoJS from 'crypto-js';
let keyStr = "Qr3/B91Nh7BcOMiSMw08Gg=="; // 加密密钥，应为 Base64 编码  
let ivStr = "0000000000000000"; // 初始向量（IV），这里应该是16字节长度的字符串，也建议采用 Base64 或 Hex 编码  

// 加密函数  
export function encryptAES(str) {
	let key = CryptoJS.enc.Base64.parse(keyStr); 
	let iv = CryptoJS.enc.Utf8.parse(ivStr); 

	let encrypted = CryptoJS.AES.encrypt(str, key, {
		iv: iv,
		mode: CryptoJS.mode.CBC,
		padding: CryptoJS.pad.Pkcs7
	});
	return encrypted.toString(); // 返回 Base64 编码的密文  
}

// 解密  
export function decryptAES(str) {
	const aesIv = CryptoJS.enc.Utf8.parse("0000000000000000");

	// 解码Base64密文  
	const encryptedBytes = CryptoJS.enc.Base64.parse(str);
	console.log(encryptedBytes, 'encryptedBytes');
	// 解码Base64密钥  
	const key = CryptoJS.enc.Base64.parse(keyStr);

	// 使用AES/CBC/PKCS5Padding进行解密  
	const decryptedBytes = CryptoJS.AES.decrypt({
		ciphertext: encryptedBytes
	}, key, {
		iv: aesIv,
		mode: CryptoJS.mode.CBC,
		padding: CryptoJS.pad.Pkcs7
	});

	// 将解密后的字节转换为字符串  
	const decryptedText = decryptedBytes.toString(CryptoJS.enc.Utf8);
	console.log(decryptedText, 'decryptedText');
	return decryptedText
}